package cn.stylefeng.guns.modular.base.item.service;

import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.guns.modular.base.item.entity.Item;
import cn.stylefeng.guns.modular.base.item.pojo.request.ItemRequest;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 基础数据-存货档案服务类
 *
 * @author caoxf
 * @since 2023/11/20 22:56
 */
public interface ItemService extends IService<Item> {

    /**
     * 新增基础数据-存货档案
     *
     * @param itemRequest 请求参数
     * @author caoxf
     * @since 2023/11/20 22:56
     */
    void add(ItemRequest itemRequest);

    /**
     * 删除基础数据-存货档案
     *
     * @param itemRequest 请求参数
     * @author caoxf
     * @since 2023/11/20 22:56
     */
    void del(ItemRequest itemRequest);

    /**
     * 批量删除基础数据-存货档案
     *
     * @param itemRequest 请求参数
     * @author caoxf
     * @since 2023/11/20 22:56
     */
    void batchDelete(ItemRequest itemRequest);

    /**
     * 编辑基础数据-存货档案
     *
     * @param itemRequest 请求参数
     * @author caoxf
     * @since 2023/11/20 22:56
     */
    void edit(ItemRequest itemRequest);

    /**
     * 查询详情基础数据-存货档案
     *
     * @param itemRequest 请求参数
     * @author caoxf
     * @since 2023/11/20 22:56
     */
    Item detail(ItemRequest itemRequest);

    /**
     * 获取基础数据-存货档案列表
     *
     * @param itemRequest         请求参数
     * @return List<Item>  返回结果
     * @author caoxf
     * @since 2023/11/20 22:56
     */
    List<Item> findList(ItemRequest itemRequest);

    /**
     * 获取基础数据-存货档案分页列表
     *
     * @param itemRequest                请求参数
     * @return PageResult<Item>   返回结果
     * @author caoxf
     * @since 2023/11/20 22:56
     */
    PageResult<Item> findPage(ItemRequest itemRequest);

}
